/*
 * Hibiscus is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published
 * by the Free Software Foundation; either version 3 of the License,
 * or (at your option) any later version.
 *
 * Hibiscus is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Hibiscus; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 * USA
 *
 * Copyright (C) 2003 Tetete - http://tetete.hu.
 */
package hu.tetete.hibiscus.model;

import java.io.Serializable;

import hu.tetete.hibiscus.expression.Expression;
import hu.tetete.hibiscus.expression.TrueExpression;
import hu.tetete.hibiscus.propertyvalue.PropertyValue;

/**
 * A special property which contains a group of properties.
 */
public class PropertyGroup extends Property<PropertyValue> {

    /** @see Serializable */
    private static final long serialVersionUID = 1L;

    /**
     * For test purposes.
     * FIXME remove!
     * @param id {@link Property#id}
     * @param name {@link Property#name}
     * @deprecated Use {@link #PropertyGroup(Long, String, Expression)}
     */
    @Deprecated
    public PropertyGroup(final Long id, final String name) {
        super(id, name, new TrueExpression());
    }

    /**
     * @param id {@link Property#id}
     * @param name {@link Property#name}
     * @param expression {@link Property#expression}
     */
    public PropertyGroup(final Long id, final String name, final Expression expression) {
        super(id, name, expression);
    }

    /**
     * @see Property#fromDb(String)
     */
    @Override
    public PropertyValue fromDb(final String propertyValueFromDb) {
        throw new UnsupportedOperationException();
    }

    /**
     * @see Property#toDb(PropertyValue)
     */
    @Override
    public String toDb(final PropertyValue propertyValue) {
        throw new UnsupportedOperationException();
    }



}
